阅读更多

5顶
0踩

互联网

转载新闻 浅谈家用路由器安全变迁

2017-08-02 15:54 by 副主编 jihong10102006 评论(0) 有8328人浏览
引用
本文来源:CSDN物联网开发


路由器是家庭网络的入口,在IoT浪潮下,路由器也起到了网络守护者的角色。正因为如此,这几年针对路由器的攻击也越来越多,本文就带大家细数这些年针对路由器的攻击。

无线协议漏洞

早些年对路由器的攻击方式大多基于无线协议中的漏洞。早些年无线路由使用的是WEP加密系统,也就是“有线等效加密”,但是与很多存在问题的加密算法一样,WEP加密也是用了RC4的加密方式。2001年8月,Fluhrer等人发表了针对WEP的密码分析,利用RC4加解密和IV的使用方式的特性,结果在网络上偷听几个小时之后,就可以把RC4的钥匙破解出来。这个攻击方式很快就实作出来了,而自动化的工具也释出了,只要用个人电脑、现成的硬件和免费可得的软件就能进行这种攻击。因此WEP在2003年被实现大部分IEEE 802.11i标准的WPA(Wi-Fi Protected Access)淘汰。

WPA相比WEP提升了部分安全性,WPA 的设计中要用到一个 802.1X 认证服务器来散布不同的钥匙给各个用户;不过它也可以用在较不保险的 ”pre-shared key” (PSK) 模式。Wi-Fi 联盟把这个使用 pre-shared key 的版本叫做 WPA 个人版或 WPA2 个人版,用 802.1X 认证的版本叫做 WPA 企业版或 WPA2 企业版。

WPA 的数据会以一个 128 位元的钥匙和一个 48 位元的初向量 (IV) 的 RC4 stream cipher 来加密。WPA 超越 WEP 的主要改进就是在使用中可以动态改变钥匙的“临时钥匙完整性协定”(Temporal Key Integrity Protocol,TKIP),加上更长的初向量,这可以击败知名的针对 WEP 的金钥撷取攻击。

除了认证和加密外,WPA 对于数据的完整性也提供了巨大的改进。WEP 所使用的 CRC(循环冗余校验)先天就不安全,在不知道 WEP 钥匙的情况下,要篡改所载资料和对应的 CRC 是可能的,而 WPA 使用了称为 ”Michael” 的更安全的讯息认证码(在 WPA 中叫做讯息完整性查核,MIC)。

2004年,WPA由实现完整IEEE 802.11i标准的WPA2所取代。WPA2相比WPA比较重要的安全改进是使用了AES而非原来的RC4加密方式。

事实上,无论是WPA还是WPA2都有相应的破解方法,具体就是使用DEAUTH攻击使已经连接的客户端断开并重新连接,以产生握手包,之后再用字典进行破解,但是既然使用到了字典,成功率就相当不确定了。


2011年12月28日,安全专家Stefan Viehbock曝出WPS(Wi-Fi保护设置)功能的一个重大安全漏洞,此漏洞允许远程攻击者使用暴力攻击在几小时内就能获取WPS的PIN码和WPA/WPA2的PSK码。pin码是一个8位的整数,破解过程时间比较短。WPS PIN码的第8位数是一个校验和,因此黑客只需计算前7位数。另外前7位中的前四位和后三位分开认证。所以破解pin码最多只需要1.1万次尝试,顺利的情况下在3小时左右。WPS认证流程如下图:

然而,现实情况是很多路由器会对穷举PIN进行限制,每次猜解的间隔时间会越来越长,因此小编之前做过多次尝试从未成功。

由于攻击方式的局限性,以上所述的漏洞大都已经成为历史,现如今对路由器的攻击大多转为针对特定路由器漏洞的攻击,并且从对无线协议弱点的攻击转向对路由器固件、Web界面的攻击。

针对路由器固件的攻击

近年来有不少针对路由器的攻击,很多知名厂商纷纷中招,并且往往连累的是一个系列的产品,这些路由器爆出的漏洞中很多是厂商因维护需要而开设的后门,有一些则是验证机制存在问题,被轻易绕过:

2016年10月,华硕路由器被P2P僵尸网络程序TheMoon感染。华硕旗下RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安全漏洞,该漏洞源于程序没有正确检查请求的MAC地址。远程攻击者可通过向UDP 9999端口发送NET_CMD_ID_MANU_CMD数据包利用该漏洞绕过身份验证,执行任意命令。

同月,D-Link DWR-932B LTE路由器中发现多个后门。研究人员发现了D-Link无线路由器会默认使用两个硬编码的秘密账户(admin:admin and root:1234)运行Telnet和SSH服务。攻击者可以轻松地用shell命令行接入这些脆弱的路由器,然后就可以进行中间人攻击,监控网络流量,运行恶意脚本更改路由器设置。而如果将字符串”HELODBG”作为硬编码命令发送到UDP端口39889就可以利用这个后门,就可以在不经过任何验证的情况下在路由器上启动一个root权限的Telnet。

2016年12月,Netgear多个型号路由器曝远程任意命令注入漏洞,攻击者只需要构造网站,在网址结尾加上命令,在未授权得情况下就能以Root权限执行任意命令。

今年2月,大量Netgear路由器被曝存在密码绕过漏洞。用户试图访问路由器的web控制界面时,需要进行身份验证;如果身份验证被取消,同时密码恢复功能被禁用了,用户就会被重定向到一个页面,而这个页面会暴露密码恢复的token。用户提供了这个token就能获取到路由器管理员密码。

今年4月,数十款Linksys路由器曝高危漏洞,可致远程命令执行及敏感信息泄露。攻击者就可以在路由器操作系统上以root权限注入执行命令。黑客可能会创建后门账号以长期控制路由器。后门账号不会在web管理界面显示,并且不能被管理员账号删除。

TheMoon僵尸程序的攻击流量

尽管以上提到的案例不多,但这些厂商在路由器市场占到了半壁江山,尤其是Netgear与Linksys,根据NPD Monthly的数据显示,NETGEAR与LINKSYS这两家美国老牌路由器厂商成为了该市场的第一与第二名,并且市场份额超过了60%。而来自亚太地区的D-LINK等厂商则分别领导美国市场的40%份额。

入侵路由器后,黑客便控制了受害者的上网入口,之后能够进行的攻击超乎想象。有些黑客会修改DNS,将它改为恶意DNS,从而可以监控流量,植入广告,或者进行恶意重定向,诱导用户下载恶意软件;而有一些黑客则会利用路由器进行更大规模的DDoS攻击,比如TheMoon僵尸程序、针对IoT设备的僵尸网络Mirai。但实际上,黑客能做的远不止这些,如果要进行针对性的攻击,黑客在内网中进一步进行渗透。

Mirai僵尸网络影响了全球范围内的大量主机

而直到现在,仍然有大量的路由器尚未修复漏洞,小编简单用shodan的搜索结果进行测试,在20个搜索结果中就找到了一台存在漏洞的Netgear R7000路由器,要注意这是前两页的搜索结果,可想而知肯定有大量黑客都已经进行过对这些结果的检查。

之所以网络中仍然存在大量漏洞的路由原因就是厂商无法进行及时的推送,路由器虽然是网络的入口,却没有一种完善的固件更新机制能让用户一直使用到最新的固件,这可能是厂商亟需解决的问题。

攻击路由新思路

虽然上面提到的漏洞危害巨大,但有一个必要的条件是,路由器端口必须暴露在公网,或者攻击者需要身处同一网络环境中,也就是说,黑客需要通过一些方法进入相同的无线网络,要达到这一目的,除了寄希望于前文提到的无线协议漏洞,还有一些新奇的思路:

WiFi万能 钥匙

前几年比较火的WiFi万能 钥匙就可以用来进行攻击,这款应用会上传你所输入的路由器密码,开放给他人使用。如果密码未知,万能 钥匙还会提供一个弱口令字典,收录了比较常用的密码,帮助用户破解无线网络。虽然工具的原本的目的是让大家能够共享网络,但攻击者可以利用这款应用成功进入他人网络进行进一步攻击,针对不同的路由器黑客可以使用不同的攻击方法,甚至借用前文所说的一些针对特定路由器的漏洞展开攻击。

Switcher病毒

去年12月,曾有一款劫持路由器DNS设置的“Switcher”病毒,也是选择了新的感染途径,它会先感染手机,然后利用软件中内置的弱口令字典爆破路由器web界面,成功后,它会设置恶意DNS作为主DNS服务器,从而劫持用户的整个网络。

Fluxion

去年年底我们还曾介绍过一款名为Fluxion的工具,它的入侵途径不是网线,而是使用路由器的用户。

Fluxion使用WPA握手功能来控制登录页面的行为和控制整个脚本的行为。它会阻塞原始网络并创建一个具有相同名称的克隆网络,引起断开连接后的用户加入,并且提供了一个虚假的路由器重新启动或加载固件,并请求网络密码继续登录的页面。当用户提供密码后,攻击者就可以借用密码入侵网络,同样的,攻击者在进入网络后可以使用各种针对路由器的漏洞展开进一步的攻击。

用户看到的假页面

防范

对于针对无线协议漏洞的防范,相信大家都比较熟悉:在设置路由器时应该选择WPA/WPA2的加密方式,还要选取足够复杂的无限密码;为了防止PIN攻击,还需要关闭路由中的WPS功能。

而对于那些利用路由器后门的攻击,可以从几方面防范:

一是检查路由端口转发配置。因为事实上家用路由很少会暴露在公网环境下,尤其是国内的运营商还会封锁部分端口。因此,如果黑客想要从路由器的Web管理页面入侵,那路由器得要已经暴露在公网上。

二是对路由器的安全功能进行配置,比如为路由器的Web管理页面设置密码,另外就是绑定MAC地址。如果没有进行端口转发的配置,黑客则需要进入Wifi网络进行入侵,无论是上面提到的WiFi万能 钥匙还是其他入侵手法都无法避开MAC地址的检查。
  • 大小: 25.3 KB
  • 大小: 86.9 KB
  • 大小: 19.8 KB
  • 大小: 16.1 KB
  • 大小: 47.9 KB
  • 大小: 19.5 KB
  • 大小: 20.9 KB
  • 大小: 25.6 KB
  • 大小: 12 KB
  • 大小: 14.2 KB
  • 大小: 16.4 KB
5
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 2G、3G、4G、5G与WiFi的一些认识

    浅谈家用路由器安全变迁- https://mp.weixin.qq.com/s/vYW7MBvPEfPu4zoIlWKVBA> 7个新顶级域名: .aero,航空运输业专用,由比利时国际航空通信技术协会(SITA)负责; .biz,可以替代.com的通用域名...

  • 互联网领袖高峰对话实录:马云李彦宏等激烈碰撞

    刚才来自苹果公司的布鲁斯·塞维尔先生他讲到了一个信任的问题在这里您刚才谈到了自己公司能够为消费者做什么以及提醒消费者应该避免什么但是在公司的成长道路上永远是后有追兵比如说在昨天的论坛上来自中国小米公司...

  • 2014世界互联网大会互联网领袖高峰对话实录

    其实因为路由器是家里唯一的一个24小时开机的联网设备,接着我们再把这个路由器装上硬盘和计算能力,其实我看待它是一个家用的服务器,它是我们家里面7×24小时永不停歇的设备。  随着这种连接的开始,我认为...

  • 互联网领袖高峰对话:大佬们之间的对掐

    其实因为路由器是家里唯一的一个24小时开机的联网设备,接着我们再把这个路由器装上硬盘和计算能力,其实我看待它是一个家用的服务器,它是我们家里面7×24小时永不停歇的设备。 随着这种连接的开始,我认为...

  • TCP协议中的三次握手和四次挥手 状态图

     //加粗的线条是一般正常情况下的状态变迁图 正常情况:服务器端打开,客户端请求链接,三次握手后进入ESTABLISHED状态 客户端要关闭,4次挥手。   三次握手: 客服端:CLOSED(请求链接,发送SYN)-...

  • 转自51cto(http://smailes.blog.51cto.com/rss.php?uid=28248)

    2.经BOIS的控制,将MBR中的Boot Record调入内存中。这里就要说说Linux的Boot程序了,Linux的Boot程序有GRUB和LILO,而CentOS默认的Boot程序是GRUB。3.通过Boot程序,访问硬盘中的Linux内核程序。...

  • 22_PHP_基于KPI的医疗废弃物管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

  • Python教程-快速入门基础必看课程09-文件处理

    该视频主要讲述了Python中文件的读写操作和pandas库中的subt函数来处理CSV文件。 在Python中,文件的读写操作需要使用open函数打开文件,并指定路径和模式。读取文件时,可以使用f.read()方法读取内容,并使用f.close()方法关闭文件。写入文件时,可以使用f.write()方法写入内容,并使用f.close()方法关闭文件。视频还介绍了如何在文件中进行换行操作,以及如何将文件中的内容进行读取和写入。 此外,视频还强调了在进行文件操作时需要注意的一些细节和技巧,例如文件的编码格式、内存不足问题、文件的访问权限、写入速度变慢问题等。视频还介绍了如何使用with语句来自动关闭文件,以及如何使用os模块中的函数来处理文件和文件夹。 另外,视频还讲述了如何使用pandas库中的subt函数来处理CSV文件。通过使用read函数将CSV文件读入,然后使用subt函数按照行和列进行划分。在划分时,可以根据需要选择不同的分隔符,如逗号、制表符等。通过subt函数可以将CSV文件切分成多个元素,然后将这些元素存储在一个list中。视频还展示了如何将这个list进行组合,

  • 《2023年度TikTok电商行业趋势白皮书》.zip

    《2023年度TikTok电商行业趋势白皮书》.zip

  • 网络攻防课程seed-labs实验-DNS_Attacks.zip

    网络攻防课程seed-labs实验-DNS_Attacks.zip

  • sql查询数据库表结构(sql server适用)

    1. sql 语句查询sql server 数据库表结构 2. sql 语句查询sql server 数据库临时表结构 3. 可自由扩展字段,主要提供一个查询思路 4. 包括表名,列名,字段类型、主键表示、字段说明等。

  • ASP.NETC#实验室预约管理系统.zip

    ASP.NET实验室预约管理系统源码 该系统的系统角色有三个:学生、教师、管理员,系统功能介绍如下: 学生功能 学生主要是四个功能。注册功能、查询功能、预约功能、学生资料管理功能。 (1)注册功能。学生进入登录界面后,如果没有注册,要先注册。注册的用户名是学生的学号。注册后才可以登录,学生在此功能里还能够修改、删除个人资料。 (2)查询功能。学生在进入主界面后,能够对想预约的课程查询或教师查询。由于老师可能教多个课程,所以有个二级选择目录。 (3)预约功能。当学生查询好信息后,就要对想要预约的实验开始预约。 (4)学生资料管理功能。学生在注册后,可以通过登录,修改自己的个人信息。 教师功能 教师也有四个功能。注册功能、查询功能、预约功能,教师的资料管理功能。只是教师和学生所使用功能的方式不一样。 (1)注册功能。老师进入登录界面后,如果没有账号,也要先注册账号,同时可以对自己的资料进行修改、删除、填加。 (2)查询功能。教师的查询功能主要是对实验室类别、项目、预约情况的查询。类别查询主要是查询实验室房间的信息;项目查询主要是查看能实验该项目的房间信息;预约查询主要是对实验室预约状况的查

  • html实现儿童节庆祝项目源码

    java结合html实现儿童节庆祝代码

  • 操作系统课程实现Shell.zip

    操作系统课程实现Shell.zip

  • 一带一路下的交通发展(16组).pptx

    一带一路下的交通发展(16组).pptx

  • 光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线

    通过MATLAB/simulink模块,构建光伏特性曲线(光照强度/温度)构建U-P以及U-I曲线,可以通过simulink模型设置光伏发电板串并联数量、光伏参数(开路电压,开路电流、最大功率点电压、最大功率点电流以及最大功率)、温度系数等,可以得到完美的U-P以及U-I曲线,通过m文件能够修改坐标轴的x轴及y轴坐标的范围。 模型使用方法,首先在MATLAB中添加文件路径,然后在MATLAB工作区中打开m文件以及slx文件,然后在MATLAB中直接运行m文件,然后回弹出相应的U-P以及U-I曲线,通过m文件能够修改光照强度的变化范围、温度的变化范围,总共可以得到光照强度以及温度共四个U-P以及U-I曲线图。

  • Python爬取百度贴吧数据.zip

    python爬虫案例

  • 43_超市管理系统-源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

Global site tag (gtag.js) - Google Analytics